<?php 

include 'D:/dingjiangbbs/common/home.php';

//屏蔽notice错误
error_reporting(E_ALL ^ E_NOTICE);

//var_dump($_POST);
//获取post值
$ip1   = $_POST['ip1'];
$ip2   = $_POST['ip2'];
$ip3   = $_POST['ip3'];
$ip4   = $_POST['ip4'];
$stime = trim($_POST['save_time']);
//var_dump($stime);
//判断ip输入框是否 为空
if (is_null($ip1) || is_null($ip2) || is_null($ip3) || is_null($ip4)) {

	exit('IP 地址输入框中不得为空');
}

//ip地址为 0~255之间
if (!(($ip1 >= 0  &&  $ip1 < 255) && ($ip2 >= 0  &&  $ip2 < 255) && ($ip3 >= 0  &&  $ip3 < 255) && ($ip2 >= 0  &&  $ip2 < 255))) {

	exit('ip地址必须是0~255之间的阿拉伯数字');
}
 
//判断有效时间是否为空
if (($stime*60*60*24) <= 0) {

	exit('有效时间不得为空');
}

//将ip转化成int型 
$ip  = $ip1.'.'.$ip2.'.'.$ip3.'.'.$ip4;
$ip  = ip2long($ip);
//var_dump($ip);

//查询黑名单
$table     = DB_TABLE_BUSER;
$fields    = '*';
$where     = "where ip=$ip";
$res       = select($link,$table,$fields,$where);
//var_dump($res);
$ip0       = $res[0]['ip'];

//查询黑名单过期的时间戳
$overtime0 = $res[0]['overtime'];


//判断是否已经存在于黑名单中
if ($ip == $ip0) {

	//判断ip锁定时间是否过期 
	if ($overtime0 > time()) {

		exit('该IP 地址已存在于黑名单中,还未过期');

	}else{

		$res_del = del($link,DB_TABLE_BUSER,"ip=$ip0");
		//var_dump($res_del);
		exit('该ip已过期,已删除,若要继续加入黑名单,请再添加一次');

	}

}  
//插入数据库黑名单表中
$table = DB_TABLE_BUSER;
$data  = [
	'ip'       => $ip,
	'addtime'  => time(),
	'overtime' => time()+24*60*60*$stime
];
$res_ip = insert($link,$table,$data);
//var_dump($res_ip);

if (!$res_ip) {
	exit('拉黑失败');
}
echo '拉黑成功';

mysqli_close($link);